package com.ltf.entity;

import java.util.Date;

/**
 * Comment类表示一条评论的实体对象，包含评论的相关信息。
 * 该类提供了对评论属性的封装以及getter和setter方法。
 */
public class Comment {
    private int id;         // 评论的唯一标识符
    private int uid;        // 用户ID，表示发表评论的用户
    private int bookid;     // 图书ID，表示评论所属的图书
    private int rate;       // 评分，表示用户对图书的评分
    private String content; // 评论内容
    private String nickname;// 用户昵称，表示发表评论的用户昵称
    private String img;     // 用户头像URL，表示用户的头像图片链接
    private Date tpost;     // 评论发布时间

    /**
     * 无参构造函数，用于创建Comment对象。
     * 在实例化时会打印"Comment...无参构造..."到控制台。
     */
    public Comment() {
        System.out.println("Comment...无参构造...");
    }

    /**
     * 获取评论的唯一标识符。
     *
     * @return 返回评论的ID。
     */
    public int getId() {
        return id;
    }

    /**
     * 设置评论的唯一标识符。
     *
     * @param id 评论的ID。
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * 获取用户ID。
     *
     * @return 返回发表评论的用户ID。
     */
    public int getUid() {
        return uid;
    }

    /**
     * 设置用户ID。
     *
     * @param uid 用户ID。
     */
    public void setUid(int uid) {
        this.uid = uid;
    }

    /**
     * 获取图书ID。
     *
     * @return 返回评论所属的图书ID。
     */
    public int getBookid() {
        return bookid;
    }

    /**
     * 设置图书ID。
     *
     * @param bookid 图书ID。
     */
    public void setBookid(int bookid) {
        this.bookid = bookid;
    }

    /**
     * 获取评分。
     *
     * @return 返回用户对图书的评分。
     */
    public int getRate() {
        return rate;
    }

    /**
     * 设置评分。
     *
     * @param rate 用户对图书的评分。
     */
    public void setRate(int rate) {
        this.rate = rate;
    }

    /**
     * 获取评论内容。
     *
     * @return 返回评论的内容。
     */
    public String getContent() {
        return content;
    }

    /**
     * 设置评论内容。
     *
     * @param content 评论的内容。
     */
    public void setContent(String content) {
        this.content = content;
    }

    /**
     * 获取用户昵称。
     *
     * @return 返回发表评论的用户昵称。
     */
    public String getNickname() {
        return nickname;
    }

    /**
     * 设置用户昵称。
     *
     * @param nickname 用户昵称。
     */
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    /**
     * 获取用户头像URL。
     *
     * @return 返回用户的头像图片链接。
     */
    public String getImg() {
        return img;
    }

    /**
     * 设置用户头像URL。
     *
     * @param img 用户头像图片链接。
     */
    public void setImg(String img) {
        this.img = img;
    }

    /**
     * 获取评论发布时间。
     *
     * @return 返回评论的发布时间。
     */
    public Date getTpost() {
        return tpost;
    }

    /**
     * 设置评论发布时间。
     *
     * @param tpost 评论的发布时间。
     */
    public void setTpost(Date tpost) {
        this.tpost = tpost;
    }

    /**
     * 重写toString方法，返回Comment对象的字符串表示形式。
     *
     * @return 返回包含所有属性值的字符串。
     */
    @Override
    public String toString() {
        return "Comment{" +
                "id=" + id +
                ", uid=" + uid +
                ", bookid=" + bookid +
                ", rate=" + rate +
                ", content='" + content + '\'' +
                ", nickname='" + nickname + '\'' +
                ", img='" + img + '\'' +
                ", tpost=" + tpost +
                '}';
    }
}
